package com.jjrwa.transform;

import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiJavaFile;
import com.jjrwa.define.HandleClass;

import java.util.Set;

public interface ITransform {

    /**
     * 模型类型 vo param
     *
     * @return
     */
    String modelType();

    /**
     * 自定义处理类
     *
     * @param entityClass
     * @param handleClass
     */
    void customHandleClass(PsiClass entityClass, HandleClass handleClass);

    /**
     * 导入处理
     *
     * @param javaFile
     * @param entityClass
     */
    default void importHandle(Set<String> importContent, PsiJavaFile javaFile, PsiClass entityClass) {

    }

    /**
     * 转换模版名
     *
     * @return
     */
    String templateName();
}
